<?php
// 引入函数库
include_once('helpers.php');

// 定义图片宽高
$width = 80;
$height = 34;

// 创建画布
$result = imagecreatetruecolor($width,$height);

// 设置背景色
$BgColor = imagecolorallocate($result,238,238,238);// #eee

// 把背景色加入图片里
imagefilledrectangle($result,0,0,$width,$height,$BgColor);

// 设置文字颜色
$TextColor = imagecolorallocate($result,255,0,0);// #ff0000

// 分别创建四个随机字符
$code_1 = build_randstr(1);
$code_2 = build_randstr(1);
$code_3 = build_randstr(1);
$code_4 = build_randstr(1);

// 定义字体路径 要的是绝对路径
$FontPath = $_SERVER['DOCUMENT_ROOT'] . '/assets/fonts/OpenSans-Light.ttf';

// 把字符加入到图片里
imagettftext($result,16,mt_rand(-30,30),5,26,$TextColor,$FontPath,$code_1);
imagettftext($result,16,mt_rand(-30,30),20,26,$TextColor,$FontPath,$code_2);
imagettftext($result,16,mt_rand(-30,30),40,26,$TextColor,$FontPath,$code_3);
imagettftext($result,16,mt_rand(-30,30),60,26,$TextColor,$FontPath,$code_4);

// 绘制一些点状像素
for($i = 0;$i <= 10;$i++)
{
    imagesetpixel($result,mt_rand(0,$width),mt_rand(0,$height),imagecolorallocate($result,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)));
}

// 绘制一些线像素
for($i = 0;$i <= 5;$i++)
{
    imageline($result,mt_rand(0,$width),mt_rand(0,$height),mt_rand(0,$width),mt_rand(0,$height),imagecolorallocate($result,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)));
}

/* 
    COOKIE 存放在客户端 只要时间没到期或者没有手动删除 它就一直存在
    SESSION 存放服务器 通过cookie存储临时SESSION_ID 通过该ID用来标识当前用户,与其他用户进行区分
*/

// 开启会话
session_start();

// 设置验证码的session
$_SESSION['code'] = $code_1 . $code_2 . $code_3 . $code_4;

// 设置头信息，告诉浏览器，这是图片
header('Content-Type:image/png');

// 输出图片
imagepng($result);